/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.demos.cinepantin;

// classe Adresse Postale 
import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;

import org.jboss.weld.context.bound.Bound;

import fr.demos.cinepantin.enumerate.Adresse;

/**
 *
 * @author user
 */
@Entity
public class AdressePostal implements Serializable{

	@Id
	private int idAdresse;
	@Enumerated(EnumType.STRING)
    private Adresse adresse;
    private String  ligneAdresse1;
    private String  ligneAdresse2;
    private String  codepostal;
    private String  ville;
    private String  numAppartement;
    private String  etage;
    private String  numTelFixe;
    private boolean adrFacturation;
    private boolean adrLivraison;
    
    public AdressePostal(){
    	
    }
    
	public AdressePostal(int idAdresse,String ligneAdresse1,
			String ligneAdresse2,Adresse adresse, String codepostal, String ville,
			String numAppartement, String etage, String numTelFixe,
			boolean adrFacturation, boolean adrLivraison) {
		
		this.idAdresse=idAdresse;
		this.ligneAdresse1 = ligneAdresse1;
		this.ligneAdresse2 = ligneAdresse2;
		this.setAdresse(adresse);
		this.codepostal = codepostal;
		this.ville = ville;
		this.numAppartement = numAppartement;
		this.etage = etage;
		this.numTelFixe = numTelFixe;
		this.adrFacturation = adrFacturation;
		this.adrLivraison = adrLivraison;
	}
	
	

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + (adrFacturation ? 1231 : 1237);
		result = prime * result + (adrLivraison ? 1231 : 1237);
		result = prime * result
				+ ((codepostal == null) ? 0 : codepostal.hashCode());
		result = prime * result + ((etage == null) ? 0 : etage.hashCode());
		result = prime * result + idAdresse;
		result = prime * result
				+ ((ligneAdresse1 == null) ? 0 : ligneAdresse1.hashCode());
		result = prime * result
				+ ((ligneAdresse2 == null) ? 0 : ligneAdresse2.hashCode());
		result = prime * result
				+ ((numAppartement == null) ? 0 : numAppartement.hashCode());
		result = prime * result
				+ ((numTelFixe == null) ? 0 : numTelFixe.hashCode());
		result = prime * result + ((ville == null) ? 0 : ville.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		AdressePostal other = (AdressePostal) obj;
		if (adrFacturation != other.adrFacturation)
			return false;
		if (adrLivraison != other.adrLivraison)
			return false;
		if (codepostal == null) {
			if (other.codepostal != null)
				return false;
		} else if (!codepostal.equals(other.codepostal))
			return false;
		if (etage == null) {
			if (other.etage != null)
				return false;
		} else if (!etage.equals(other.etage))
			return false;
		if (idAdresse != other.idAdresse)
			return false;
		if (ligneAdresse1 == null) {
			if (other.ligneAdresse1 != null)
				return false;
		} else if (!ligneAdresse1.equals(other.ligneAdresse1))
			return false;
		if (ligneAdresse2 == null) {
			if (other.ligneAdresse2 != null)
				return false;
		} else if (!ligneAdresse2.equals(other.ligneAdresse2))
			return false;
		if (numAppartement == null) {
			if (other.numAppartement != null)
				return false;
		} else if (!numAppartement.equals(other.numAppartement))
			return false;
		if (numTelFixe == null) {
			if (other.numTelFixe != null)
				return false;
		} else if (!numTelFixe.equals(other.numTelFixe))
			return false;
		if (ville == null) {
			if (other.ville != null)
				return false;
		} else if (!ville.equals(other.ville))
			return false;
		return true;
	}

	public String getLigneAdresse1() {
		return ligneAdresse1;
	}

	public void setLigneAdresse1(String ligneAdresse1) {
		this.ligneAdresse1 = ligneAdresse1;
	}

	public String getLigneAdresse2() {
		return ligneAdresse2;
	}

	public void setLigneAdresse2(String ligneAdresse2) {
		this.ligneAdresse2 = ligneAdresse2;
	}

	public String getCodePostal() {
		return codepostal;
	}

	public void setCodePostal(String codePostal) {
		this.codepostal = codePostal;
	}

	public String getVille() {
		return ville;
	}

	public void setVille(String ville) {
		this.ville = ville;
	}

	public String getNumAppartement() {
		return numAppartement;
	}

	public void setNumAppartement(String numAppartement) {
		this.numAppartement = numAppartement;
	}

	public String getEtage() {
		return etage;
	}

	public void setEtage(String etage) {
		this.etage = etage;
	}

	public String getNumTelFixe() {
		return numTelFixe;
	}

	public void setNumTelFixe(String numTelFixe) {
		this.numTelFixe = numTelFixe;
	}

	public boolean isAdrFacturation() {
		return adrFacturation;
	}

	public void setAdrFacturation(boolean adrFacturation) {
		this.adrFacturation = adrFacturation;
	}

	public boolean isAdrLivraison() {
		return adrLivraison;
	}

	public void setAdrLivraison(boolean adrLivraison) {
		this.adrLivraison = adrLivraison;
	}

	public int getIdAdresse() {
		return idAdresse;
	}

	public void setIdAdresse(int idAdresse) {
		this.idAdresse = idAdresse;
	}

	public Adresse getAdresse() {
		return adresse;
	}

	public void setAdresse(Adresse adresse) {
		this.adresse = adresse;
	}
	
	public void setAdressePostal(AdressePostal a) {
		// TODO Auto-generated method stub
		
	}

	
}
